1. Field of the Invention
The present invention generally relates to computer systems. More particularly, the present invention relates to a system and method for manipulating the private settings of a computerized peripheral device without having knowledge of the specific private settings.
2. Description of the Related Art
Computers and common peripheral devices such as modems, printers, and displays are often connected in communication such that the computer, generally referred to as the host, can send data and receive data from the peripheral devices and other computers. The communication channel between the computer(s) and devices may be either unidirectional, such that one computer or peripheral device only sends or only receives data to another, or bidirectional, with each device both sending and receiving data.
A typical device-host connection is a cable connected directly to a serial or parallel port of both the host and the peripheral device such that the peripheral device primarily serves the connected host. Alternatively, a computer and peripheral device are connected in a network and each device is accessible to and can interface with multiple hosts residing on that network. In order to properly interface, the computer(s) and peripheral device(s) must have a known data protocol between them whereby each device can understand the data from one another.
The interface protocol is particularly important in host-peripheral device applications in which the host is controlling the peripheral device to perform a specific function. The data passed from the host computer to the peripheral device must be very specific in communicating the desired function for the peripheral device. In like manner, the peripheral device will often communicate with the host computer to inform the host computer of the current properties and functions of the peripheral device. An example of such interface is that between a host computer and a printer that typically communicate through a protocol known as the Network Printer Alliance Protocol (NPAP).
A printer has numerous private settings that convey specific configurations and functions specific to the printing function. A few examples of the configuration settings are component types, tolerances and memory. Prior art printers have the capability to send data back to a host computer indicative of the various current parameters of the printer to include the specific private settings for that device. Thus, when the computer and printer are interfaced, they are in bidirectional communication can pass the data regarding the specific private settings of the printer and commands. When the private settings of the printer are desired to be changed, the computer sends specific variables to the computer platform of the printer to change private settings of the printer where each variable affects one specific private setting of the printer. The printer, or other peripheral device, typically provides the private settings of peripheral device to the host computer with each setting represented by a specific variable. The host computer then can save the provided private settings and has the ability to restore the private settings to the peripheral device at a later time, if necessary. There are however several problems that are recurrent in the typical host computer-printer interface.
The private settings of each peripheral device are not consistent from device to device, so restoring settings from one device to another could cause the second device to crash. Further, the private settings of each individual peripheral device are not consistent through the various releases of the device. Another problem is that a host computer could set values for the peripheral device that were applicable to another peripheral device which would cause the current peripheral device to function improperly or crash.
This inconsistency of the private settings across devices has thus required that the host computer have advance knowledge of each device in order to perform special actions upon the peripheral device with variables certain to affect specific settings. The inconsistency also creates a problem in host computers that interact with multiple peripheral devices at the same time as the host computer cannot store the settings for each specific device with reasonable certainty that the stored settings can be restored to any other of the same type of peripheral device(s) in the interface.
Accordingly, the prior art is deficient in the capability to precisely affect the private settings of a peripheral device through different releases of the device. Furthermore, the private settings typically change through software updates, and if the settings of a peripheral device were not properly updated, the entire system would fail. The prior art systems consequently provide an unsatisfactory interface particularly between host computers and printers in that the capability to manipulate the private settings of the printer through several releases of the device and updates to the software is limited and prone to error. A system and method that allows the private settings of a peripheral device to be precisely manipulated by a host device, i.e. storage, updating, and retrieval of the private settings, would therefore represent an improvement over the prior art systems. It is to the provision of such an improved system and method that the present invention is primarily directed.
The present invention is a system and method for manipulating peripheral device settings across different types of peripheral devices, such as the private settings for a printer across different releases of the printer. The preferred system includes at least one host computer and a peripheral device in a communication interface with the host computer(s). The peripheral device has a data store, such as a local memory, including setting data that includes the public settings for the peripheral device and private settings of the peripheral device that are implicated in the public settings. The peripheral device also includes a variable manager in communication with the data store of said peripheral device.
Thus, in the system, the host computer transmits a data packet including one or more public settings for the peripheral device across the communication interface to the peripheral device. The variable manager of the peripheral device receives the data packet and retrieves the setting data from the data store in response to receipt of the data packet. The variable manager processes the data packet and manipulates one or more of the private settings of the peripheral device, such manipulation dependent upon the action either requested or implied in the data packet.
The communication interface between the host computer and the peripheral is preferably a NPAP interface, although other informational languages and protocols are alternately used. Thus, the data packet that includes one or more public settings for the peripheral device is preferably a NPAP packet. The preferred peripheral device is a printer having NVRAM memory as a data store and using the NPAP protocols, although other permanent and flash memories are alternately used in the peripheral device.
In one embodiment, the communication interface between the host computer and the printer occurs through a network, such as the Internet. Alternatively, the communication interface occurs through a direct connection between the host computer and the printer.
The system accordingly provides an inventive peripheral device in a communication interface with one or more host computers. The peripheral device has a data store including setting data for public settings of the peripheral device and private settings of the peripheral device that are implicated in the public settings. The peripheral device also includes a variable manager in communication with the data store, and the variable manager receives a data packet including a public setting across the communication interface. Upon receipt of the data packet, the variable manager retrieves the setting data from the data store and processes the data packet to interpret the information received therein. Then the variable manager either directly or indirectly manipulates one or more of the private settings of the peripheral device.
The present inventive system and peripheral device accordingly provide an inventive method of manipulating stored public settings and private settings in a peripheral device. The method includes the steps of receiving a data packet at the peripheral device to request an action relative to a public setting of the peripheral device, and processing the data packet at the peripheral device to determine the specific public setting(s) for which action is requested. The method then includes the steps of determining the private settings associated with the public setting data packet, and manipulating one or more public settings and/or one or more private settings of the peripheral device in response to the data packet.
The step of receiving a data packet is preferably the step of receiving a data packet including a request for the public setting at the peripheral device. And the step of manipulating one or more public settings and/or one or more private settings is preferably storing new private settings in response to the data packet.
The step of receiving a data packet is preferably the step of receiving a data packet including a request for the specific public setting of the computerized device. Consequently, the step of manipulating one or more public settings and/or one or more private settings is retrieving the public settings and/or private settings of the peripheral device in response to the data packet. When a specific public setting is requested for the peripheral device, the step of receiving a data packet is receiving a data packet including a request for the public setting at the peripheral device. Alternately, the step of manipulating one or more public settings and/or one or more private settings is updating the private settings in response to the data packet upon receipt of a data packet requesting the altering of a public setting.
When the peripheral device is embodied with a variable manager, the step of processing the data packet at the peripheral device to determine the specific public setting for which action is requested is processing the data packet at a variable manger of the peripheral device. And the step of receiving a data packet at the peripheral device to request an action relative to a public setting of the peripheral device is receiving an NPAP data packet at the variable manager.
The present invention thus provides a commercial advantage in that through the addition of additional processing by the peripheral device variable manager of the public and private settings for the peripheral device when called to retrieve variables for the host computer, the device can insure that a common setting is returned or implemented. Additionally, the processing can remain unchanged when retrieving a variable for the device so that existing code in the device will continue to work without any changes. Similar processing of the public setting occurs in the variable manager when the host computer or peripheral device wants to update the private settings of the peripheral device. Because the variable manager validates each public or private setting before being updating a new private setting, the device cannot get into an unknown state from encountering an unrecognizable public or private setting.
The present invention consequently has industrial applicability as it can be implemented in any host computer-peripheral device interface, and is particularly suited for implementation on a printer in an interface with a host computer. Accordingly, different types and versions of the printer can be interchanged with the same host computer provided that the peripheral device can reference the public settings sent by the host computer.